package com.example.bishe.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.bishe.entity.Approval;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.bishe.web.b.vo.getApprovalPageVO;
import com.example.bishe.web.c.vo.UserApprovalVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author LDH
 * @since 2022/11/30
 */
public interface ApprovalService extends IService<Approval> {

    /**
    * 功能描述: 根据用户id获取用户所创建空间的加入申请
    *
    * @Author: LDH
    * @Date: 2023/04/23
    */
    IPage<UserApprovalVO> getUserApproval(int pageNum, int pageSize, Long userId);

    /**
    * 功能描述: 分页查询审批
    *
    * @Author: LDH
    * @Date: 2023/05/08
    */
    IPage<getApprovalPageVO> getApprovalPage(int pageNum, int pageSize, Long id, Long userId, String userName, Integer result, String startTime, String endTime);

    /**
    * 功能描述: 管理员审批
    *
    * @Author: LDH
    * @Date: 2023/05/08
    */
    void update(Approval approval);

    void doApply(Approval approval);

    /**
    * 功能描述: 单个删除审批数据
    *
    * @Author: LDH
    * @Date: 2023/05/08
    */
    void delOne(Approval approval);

    /**
    * 功能描述: 批量删除审批数据
    *
    * @Author: LDH
    * @Date: 2023/05/08
    */
    void delBatch(List<Approval> approvals);

}
